package com.jy.adscm.hospital.bean;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.jy.adscm.core.interceptor.DateJsonDeserializer;

import java.util.Date;
import java.io.Serializable;

/**
 * <p>
 * 医院基础信息表
 * </p>
 *
 * @author yyy
 * @since 2019-01-16
 */
public class JyHospitalBase implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 医院名称
     */
    private String hospitalName;
    /**
     * 医院类别
     */
    private Long hospitalType;
    @TableField(exist = false)
    private String hospitalTypeDesc;
    /**
     * 医院级别
     */
    private Long hospitalLevel;
    @TableField(exist = false)
    private String hospitalLevelDesc;
    /**
     * 医院电话
     */
    private String hospitalTel;
    /**
     * 省
     */
    private String addressSheng;
    /**
     * 市
     */
    private String addressShi;
    /**
     * 区县
     */
    private String addressQuxian;
    /**
     * 详细地址
     */
    private String addressDetail;
    /**
     * 英文名称
     */
    private String nameEn;
    /**
     * 成立时间
     */
    private String establishDate;
    /**
     * 医院院训
     */
    private String hospitalTraining;
    /**
     * 主管部门
     */
    private String directDept;
    /**
     * 是否医保定点
     */
    private Integer medicalInsurancePoint;
    /**
     * 经济类型
     */
    private String economicType;
    /**
     * 经营性质
     */
    private String operateNature;
    /**
     * 院长
     */
    private String dean;
    /**
     * 是否目标客户
     */
    private Integer targetCustomer;
    /**
     * 填写单位
     */
    private Integer inputUnit;
    @TableField(exist = false)
    private String inputUnitDesc;
    /**
     * 录入单位类型（厂商 经销商）
     */
    private Integer inputUnitType;
    /**
     * 输入用户
     */
    private Integer inputUserId;
    @TableField(exist = false)
    private String inputUserName;
    /**
     * 录入时间
     */
    private Date inputTime;
    /**
     * 经度
     */
    private Double hospitalJd;
    /**
     * 纬度
     */
    private Double hospitalWd;

    @TableField(exist = false)
    private Integer applyStatus;//医院的报单状态  0：未报单，1：已报单，2：当前报单医院


    public Integer getTargetCustomer() {
        return targetCustomer;
    }

    public void setTargetCustomer(Integer targetCustomer) {
        this.targetCustomer = targetCustomer;
    }

    public Integer getApplyStatus() {
        return applyStatus;
    }

    public void setApplyStatus(Integer applyStatus) {
        this.applyStatus = applyStatus;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getHospitalName() {
        return hospitalName;
    }

    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }

    public Long getHospitalType() {
        return hospitalType;
    }

    public void setHospitalType(Long hospitalType) {
        this.hospitalType = hospitalType;
    }

    public Long getHospitalLevel() {
        return hospitalLevel;
    }

    public void setHospitalLevel(Long hospitalLevel) {
        this.hospitalLevel = hospitalLevel;
    }

    public String getHospitalTel() {
        return hospitalTel;
    }

    public void setHospitalTel(String hospitalTel) {
        this.hospitalTel = hospitalTel;
    }

    public String getAddressSheng() {
        return addressSheng;
    }

    public void setAddressSheng(String addressSheng) {
        this.addressSheng = addressSheng;
    }

    public String getAddressShi() {
        return addressShi;
    }

    public void setAddressShi(String addressShi) {
        this.addressShi = addressShi;
    }

    public String getAddressQuxian() {
        return addressQuxian;
    }

    public void setAddressQuxian(String addressQuxian) {
        this.addressQuxian = addressQuxian;
    }

    public String getAddressDetail() {
        return addressDetail;
    }

    public void setAddressDetail(String addressDetail) {
        this.addressDetail = addressDetail;
    }

    public String getNameEn() {
        return nameEn;
    }

    public void setNameEn(String nameEn) {
        this.nameEn = nameEn;
    }

    public String getEstablishDate() {
        return establishDate;
    }

    public void setEstablishDate(String establishDate) {
        this.establishDate = establishDate;
    }

    public String getHospitalTraining() {
        return hospitalTraining;
    }

    public void setHospitalTraining(String hospitalTraining) {
        this.hospitalTraining = hospitalTraining;
    }

    public String getDirectDept() {
        return directDept;
    }

    public void setDirectDept(String directDept) {
        this.directDept = directDept;
    }

    public Integer getMedicalInsurancePoint() {
        return medicalInsurancePoint;
    }

    public void setMedicalInsurancePoint(Integer medicalInsurancePoint) {
        this.medicalInsurancePoint = medicalInsurancePoint;
    }

    public String getEconomicType() {
        return economicType;
    }

    public void setEconomicType(String economicType) {
        this.economicType = economicType;
    }

    public String getOperateNature() {
        return operateNature;
    }

    public void setOperateNature(String operateNature) {
        this.operateNature = operateNature;
    }

    public String getDean() {
        return dean;
    }

    public void setDean(String dean) {
        this.dean = dean;
    }

    public Integer getInputUnit() {
        return inputUnit;
    }

    public void setInputUnit(Integer inputUnit) {
        this.inputUnit = inputUnit;
    }

    public Integer getInputUnitType() {
        return inputUnitType;
    }

    public void setInputUnitType(Integer inputUnitType) {
        this.inputUnitType = inputUnitType;
    }

    public Integer getInputUserId() {
        return inputUserId;
    }

    public void setInputUserId(Integer inputUserId) {
        this.inputUserId = inputUserId;
    }

    public Date getInputTime() {
        return inputTime;
    }
    @JsonDeserialize(using = DateJsonDeserializer.class)
    public void setInputTime(Date inputTime) {
        this.inputTime = inputTime;
    }

    public Double getHospitalJd() {
        return hospitalJd;
    }

    public void setHospitalJd(Double hospitalJd) {
        this.hospitalJd = hospitalJd;
    }

    public Double getHospitalWd() {
        return hospitalWd;
    }

    public void setHospitalWd(Double hospitalWd) {
        this.hospitalWd = hospitalWd;
    }

    public String getHospitalTypeDesc() {
        return hospitalTypeDesc;
    }

    public void setHospitalTypeDesc(String hospitalTypeDesc) {
        this.hospitalTypeDesc = hospitalTypeDesc;
    }

    public String getHospitalLevelDesc() {
        return hospitalLevelDesc;
    }

    public void setHospitalLevelDesc(String hospitalLevelDesc) {
        this.hospitalLevelDesc = hospitalLevelDesc;
    }

    public String getInputUnitDesc() {
        return inputUnitDesc;
    }

    public void setInputUnitDesc(String inputUnitDesc) {
        this.inputUnitDesc = inputUnitDesc;
    }

    public String getInputUserName() {
        return inputUserName;
    }

    public void setInputUserName(String inputUserName) {
        this.inputUserName = inputUserName;
    }

    @Override
    public String toString() {
        return "JyHospitalBase{" +
                "id=" + id +
                ", hospitalName='" + hospitalName + '\'' +
                ", hospitalType=" + hospitalType +
                ", hospitalTypeDesc='" + hospitalTypeDesc + '\'' +
                ", hospitalLevel=" + hospitalLevel +
                ", hospitalLevelDesc='" + hospitalLevelDesc + '\'' +
                ", hospitalTel='" + hospitalTel + '\'' +
                ", addressSheng='" + addressSheng + '\'' +
                ", addressShi='" + addressShi + '\'' +
                ", addressQuxian='" + addressQuxian + '\'' +
                ", addressDetail='" + addressDetail + '\'' +
                ", nameEn='" + nameEn + '\'' +
                ", establishDate=" + establishDate +
                ", hospitalTraining='" + hospitalTraining + '\'' +
                ", directDept='" + directDept + '\'' +
                ", medicalInsurancePoint=" + medicalInsurancePoint +
                ", economicType='" + economicType + '\'' +
                ", operateNature='" + operateNature + '\'' +
                ", dean='" + dean + '\'' +
                ", inputUnit=" + inputUnit +
                ", inputUnitType=" + inputUnitType +
                ", inputUserId=" + inputUserId +
                ", inputTime=" + inputTime +
                ", hospitalJd=" + hospitalJd +
                ", hospitalWd=" + hospitalWd +
                '}';
    }
}
